3 REM HIGH RESOLUTION PUT AND GET
4 REM REVISION 1.1
5 REM BY BRAD TIMMINS
6 REM (C)1989, ANTIC PUBLISHING INC.
7 REM ADD ONE TO XWIDTH AND YLENGTH
8 REM TO CALCULATE STORAGE SPACE IF
9 REM IMAGE IS TO BE STORED STRING
10 DIM IMAGE$(182):XSTART=11:YSTART=11:XWIDTH=18:YLENGTH=18:HGET=0:HPUT=1:GMODE=7:DX=+1:DY=+1:P=0
20 GRAPHICS 7+16
30 SETCOLOR 4,0,0:SETCOLOR 1,3,4:SETCOLOR 0,1,12
40 GOSUB 1000
50 REM ******DRAW BORDERS******
60 COLOR 2:PLOT 0,0:DRAWTO 159,0:DRAWTO 159,95:DRAWTO 0,95:DRAWTO 0,0
70 REM ******DRAW BALL******
80 C=1:B=2:R=8
90 FOR I=0 TO 1
100   FOR X=-R TO R
110     IF C=1 THEN C=2:B=1:GOTO 130
120     C=1:B=2
130     Y=SQR(R*R-X*X)
140     COLOR C:PLOT 20+X,20+Y:DRAWTO 20+X,20-Y
150     COLOR B:PLOT 20+X,18:DRAWTO 20+X,22
160   NEXT X
170   REM ******SAVE IMAGES******
180   HGET=USR(1536,XSTART,YSTART,XWIDTH,YLENGTH,ADR(IMAGE$)+P,GMODE,HGET):P=P+91:C=2:NEXT I
190 P=0
200 REM ******MOVE BALL******
210 IF XSTART=1 OR XSTART=158-XWIDTH THEN DX=-DX
220 IF YSTART=1 OR YSTART=94-YLENGTH THEN DY=-DY
230 P=P+91:IF P=182 THEN P=0
240 XSTART=XSTART+DX:YSTART=YSTART+DY
250 HPUT=USR(1536,XSTART,YSTART,XWIDTH,YLENGTH,ADR(IMAGE$)+P,GMODE,HPUT)
260 GOTO 210
975 REM *****************************
980 REM High resolution PUT and GET
985 REM machine language subroutine.
990 REM *****************************
995 REM X=USR(1536,XSTART,YSTART,XWIDTH,YLENGTH,IMAGE,GRAPHICS MODE,COMMAND)
1000 FOR T=1536 TO 1773:READ A:POKE T,A:NEXT T
1005 FOR T=1021 TO 1143:READ A:POKE T,A:NEXT T
1007 RETURN 
1010 DATA 162,13,104,104,149,212,202,16,250,165,214,201,3,144,4,201,14,144,1,96,56
1020 DATA 165,214,233,3,170,189,79,4,133,231,189,90,4,133,232,189,101,4,133,234,165
1030 DATA 88,133,203,165,89,133,204,165,212,240,72,32,253,3,165,228,133,229,32,211,6
1040 DATA 166,234,160,0,177,216,164,229,37,227,240,9,177,203,5,226,145,203,24,144,8
1050 DATA 165,226,73,255,49,203,145,203,70,226,208,3,32,197,6,70,227,208,3,32,202
1060 DATA 6,202,208,212,198,235,208,206,198,236,240,202,32,224,6,198,218,208,188,96,32
1070 DATA 253,3,165,228,133,229,32,211,6,166,234,164,229,177,203,160,0,37,226,240,9
1080 DATA 177,216,5,227,145,216,24,144,8,165,227,73,255,49,216,145,216,70,226,208,3
1090 DATA 32,197,6,70,227,208,3,32,202,6,202,208,212,198,235,208,206,198,236,240,202
1100 DATA 32,224,6,198,218,208,188,96,102,226,230,229,96,102,227,230,216,208,2,230,217
1110 DATA 96,165,220,133,235,165,221,133,236,165,233,133,226,96,24,165,203,101,232,133,203
1120 DATA 165,204,105,0,133,204,96,169,0,133,228,56,165,224,229,231,144
1130 DATA 6,133,224,230,228,208,243,164,225,240,8,133,224,198,225,230,228,208,231,165,224
1140 DATA 133,233,165,234,201,1,240,8,164,234,6,233,136,136,208,250,166,233,189,112,4
1150 DATA 133,226,133,233,169,128,133,227,166,222,202,224,255,240,6,32,224,6,24,144,245
1160 DATA 230,218,230,220,208,2,230,221,96,4,8,4,8,4,8,2,2,2,8,4,10
1170 DATA 10,20,20,40,40,40,40,40,20,40,2,1,2,1,2,1,4,4,4,1,2
1180 DATA 128,64,32,16,8,4,2,1
